สาเหตุ ของ ปัญหาปี ค.ศ. 2038

เวลาที่สามารถแสดงได้บนระบบเวลาของยูนิกซ์แบบจำนวนเต็ม 32 บิต คือ 03:14:07 ตามเวลาสากลเชิงพิกัด ในวันอังคารที่ 19 มกราคม ค.ศ. 2038 (พ.ศ. 2581) คิดเป็น 2,147,483,647 วินาที หลังจากเริ่มวันที่ 1 มกราคม ค.ศ. 1970[2] การจัดเก็บเวลาจะถูกย้อนกลับไปอีกครั้งและเก็บเป้นจำนวนเต็มลบ ซึ่งจะทำให้ระบบแสดงวันที่เป็นวันที่ 13 ธันวาคม ค.ศ. 1901 แทนที่จะเป็น 19 มกราคม ค.ศ. 2038 เนื่องจากเกิดบิตจำนวนเต็มล้น (overflow) ทำให้การนับเกิดผิดพลาด และจะกลับบิตเครื่องหมาย โดยจะเป็นจำนวนเต็มลบที่มากที่สุด (เกิดจากการนับขึ้นไปจนถึง 0) โดยปัญหาเช่นนี้เป็นปัญหาใหญ่ในระบบการคำนวณ

โดยจะมีโปรแกรมที่สามารถทำงานกับเวลาในอนาคตได้เพื่อแก้ปัญหานี้ต่อไป (เช่น โปรแกรมสามารถทำงานได้กับวันที่ในอีก 20 ปีข้างหน้า) โดยคาดว่าจะได้รับการพัฒนาภายในปี ค.ศ. 2018

แหล่งที่มา

WikiPedia: ปัญหาปี ค.ศ. 2038 http://www.embedded.com/electronics-blogs/barr-cod... http://kotaku.com/5977630/infinite-lives-in-candy-... http://substitute.livejournal.com/1430908.html http://www.mail-archive.com/aolserver@listserv.aol... http://www.arb.ca.gov/testmeth/testmeth.htm#vehicl... http://ajoeblk.blogspot.in/2012/09/year-2038-bug.h... http://www.opengroup.org/onlinepubs/000095399/ https://books.google.com/books?id=vEN-ckcdtCwC&pg=... https://code.google.com/p/android/issues/detail?id...